const dataArray = []
// 左侧无限滚动需要多少数据
const length = 200

for (let i = 0; i < length; i++) {
    const person = {
        nameNew: getRandomChineseName(), // 随机姓名
        age: getRandomAge() + '周岁', // 随机年龄
        id: generateUniqueId(), // 唯一ID
        address: getRandomAddress(), // 随机地址
        date: getRandomDateWithinThreeYears(), // 随机日期
        job: getRandomJobTitle(), // 随机职位
        jobYear: (Math.floor(Math.random() * 35) + 1) + '年' // 工作年份
    };

    dataArray.push(person);
}

/**
 * 随机姓名
 * @returns {string}
 */
function getRandomChineseName() {
    const firstNames = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '褚', '卫', '蒋', '沈', '韩', '杨', '朱', '秦', '尤', '许', '何', '吕', '施', '张'];
    const lastNames = ['强', '刚', '勇', '毅', '俊', '峰', '超', '鹏', '华', '平', '辉', '伟', '刚', '军', '雷', '涛', '明', '群', '波', '勇', '军', '建', '兵', '强', '平'];

    const firstName = firstNames[Math.floor(Math.random() * firstNames.length)];
    const lastName = lastNames[Math.floor(Math.random() * lastNames.length)];

    return firstName + lastName;
}

/**
 * 随机年龄18-99
 * @returns {number}
 */
function getRandomAge() {
    const minAge = 18;
    const maxAge = 99;
    return Math.floor(Math.random() * (maxAge - minAge + 1)) + minAge;
}

/**
 * ID
 * @returns {string}
 */
function generateUniqueId() {
    // 获取当前时间的毫秒数
    const timestamp = Date.now();
    // 生成一个随机数
    const randomNum = Math.floor(Math.random() * 1000000);
    // 组合时间戳和随机数
    const uniqueId = timestamp.toString(36) + randomNum.toString(36);
    return uniqueId;
}

/**
 * 随机地址
 * @returns {string}
 */
function getRandomAddress() {
    const provinces = ['北京市', '上海市', '广东省', '江苏省', '浙江省', '四川省', '湖北省', '湖南省', '山东省', '福建省'];
    const cities = {
        '北京市': ['东城区', '西城区', '朝阳区', '海淀区'],
        '上海市': ['黄浦区', '徐汇区', '长宁区', '静安区'],
        '广东省': ['广州市', '深圳市', '珠海市', '佛山市'],
        '江苏省': ['南京市', '苏州市', '无锡市', '常州市'],
        '浙江省': ['杭州市', '宁波市', '温州市', '绍兴市'],
        '四川省': ['成都市', '绵阳市', '德阳市', '乐山市'],
        '湖北省': ['武汉市', '黄石市', '襄阳市', '宜昌市'],
        '湖南省': ['长沙市', '株洲市', '湘潭市', '衡阳市'],
        '山东省': ['济南市', '青岛市', '烟台市', '潍坊市'],
        '福建省': ['福州市', '厦门市', '泉州市', '莆田市']
    };

    const streets = ['人民路', '解放路', '中山路', '建设路', '光明路', '和平路', '新华路', '长江路', '黄河路', '东风路'];

    const province = provinces[Math.floor(Math.random() * provinces.length)];
    const city = cities[province][Math.floor(Math.random() * cities[province].length)];
    const street = streets[Math.floor(Math.random() * streets.length)];
    const building = Math.floor(Math.random() * 1000) + 1;
    const unit = Math.floor(Math.random() * 20) + 1;
    const room = Math.floor(Math.random() * 100) + 1;

    return `${province}${city}${street}${building}号楼${unit}单元${room}室`;
}

/**
 * 随机日期
 * @returns {string}
 */
function getRandomDateWithinThreeYears() {
    const currentDate = new Date();
    const currentYear = currentDate.getFullYear();
    const randomYear = currentYear + Math.floor(Math.random() * 3);
    const randomMonth = Math.floor(Math.random() * 12);
    const randomDay = Math.floor(Math.random() * 28) + 1; // 为了简单起见，所有月份的天数都取1-28

    const randomDate = new Date(randomYear, randomMonth, randomDay);

    const year = randomDate.getFullYear();
    const month = String(randomDate.getMonth() + 1).padStart(2, '0');
    const day = String(randomDate.getDate()).padStart(2, '0');

    return `${year}-${month}-${day}`;
}

/**
 * 随机职位
 * @returns {string}
 */
function getRandomJobTitle() {
    const jobTitles = [
        "软件工程师",
        "数据科学家",
        "产品经理",
        "UX/UI 设计师",
        "DevOps 工程师",
        "市场专员",
        "销售经理",
        "内容编辑",
        "业务分析师",
        "财务顾问",
        "人力资源经理",
        "平面设计师",
        "运营经理",
        "项目协调员",
        "客户支持专员"
    ];

    const randomIndex = Math.floor(Math.random() * jobTitles.length);
    return jobTitles[randomIndex];
}

export default dataArray